/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.wms.entity;

import com.mes.data.EmesColor;
import com.mes.data.EmesSize;
import com.mes.data.EmesVendor;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.plm.Product;
import org.openbravo.model.common.uom.UOM;
/**
 * Entity class for entity Wms_Storage_Batch (stored in table Wms_Storage_Batch).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class WmsStorageBatch extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Wms_Storage_Batch";
    public static final String ENTITY_NAME = "Wms_Storage_Batch";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_PRODUCT = "product";
    public static final String PROPERTY_BATCHNO = "batchNo";
    public static final String PROPERTY_EMESVENDOR = "emesVendor";
    public static final String PROPERTY_PACKAGEQTY = "packageQty";
    public static final String PROPERTY_STATUS = "status";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_SELF = "self";
    public static final String PROPERTY_TIME = "time";
    public static final String PROPERTY_WMSPRODUCTEXTEND = "wmsProductExtend";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_BOXPACKAGECODE = "boxPackageCode";
    public static final String PROPERTY_BIGPACKAGECODE = "bigPackageCode";
    public static final String PROPERTY_TRAYCODE = "trayCode";
    public static final String PROPERTY_DS = "ds";
    public static final String PROPERTY_WB = "wb";
    public static final String PROPERTY_GYSY = "gysy";
    public static final String PROPERTY_PRINTBTN = "printBtn";
    public static final String PROPERTY_MATPRINTBTN = "matPrintBtn";
    public static final String PROPERTY_BATCHBTN = "batchBtn";
    public static final String PROPERTY_EMESCOLOR = "emesColor";
    public static final String PROPERTY_EMESSIZE = "emesSize";
    public static final String PROPERTY_UOM = "uom";
    public static final String PROPERTY_WMSMATERIALLISTLMXLIST = "wmsMaterialListLMxList";
    public static final String PROPERTY_WMSRETURNGOODSMXLIST = "wmsReturnGoodsMxList";
    public static final String PROPERTY_WMSSTORAGEBATCHITEMLIST = "wmsStorageBatchItemList";
    public static final String PROPERTY_WMSSTORAGEINOUTLIST = "wmsStorageInOutList";

    public WmsStorageBatch() {
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_CREATIONDATE, new Date());
        setDefaultValue(PROPERTY_UPDATED, new Date());
        setDefaultValue(PROPERTY_SELF, false);
        setDefaultValue(PROPERTY_TIME, new Date());
        setDefaultValue(PROPERTY_PRINTBTN, false);
        setDefaultValue(PROPERTY_MATPRINTBTN, false);
        setDefaultValue(PROPERTY_BATCHBTN, false);
        setDefaultValue(PROPERTY_WMSMATERIALLISTLMXLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSRETURNGOODSMXLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSSTORAGEBATCHITEMLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_WMSSTORAGEINOUTLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public Product getProduct() {
        return (Product) get(PROPERTY_PRODUCT);
    }

    public void setProduct(Product product) {
        set(PROPERTY_PRODUCT, product);
    }

    public String getBatchNo() {
        return (String) get(PROPERTY_BATCHNO);
    }

    public void setBatchNo(String batchNo) {
        set(PROPERTY_BATCHNO, batchNo);
    }

    public EmesVendor getEmesVendor() {
        return (EmesVendor) get(PROPERTY_EMESVENDOR);
    }

    public void setEmesVendor(EmesVendor emesVendor) {
        set(PROPERTY_EMESVENDOR, emesVendor);
    }

    public BigDecimal getPackageQty() {
        return (BigDecimal) get(PROPERTY_PACKAGEQTY);
    }

    public void setPackageQty(BigDecimal packageQty) {
        set(PROPERTY_PACKAGEQTY, packageQty);
    }

    public String getStatus() {
        return (String) get(PROPERTY_STATUS);
    }

    public void setStatus(String status) {
        set(PROPERTY_STATUS, status);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public Boolean isSelf() {
        return (Boolean) get(PROPERTY_SELF);
    }

    public void setSelf(Boolean self) {
        set(PROPERTY_SELF, self);
    }

    public Date getTime() {
        return (Date) get(PROPERTY_TIME);
    }

    public void setTime(Date time) {
        set(PROPERTY_TIME, time);
    }

    public WmsProductExtend getWmsProductExtend() {
        return (WmsProductExtend) get(PROPERTY_WMSPRODUCTEXTEND);
    }

    public void setWmsProductExtend(WmsProductExtend wmsProductExtend) {
        set(PROPERTY_WMSPRODUCTEXTEND, wmsProductExtend);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public String getBoxPackageCode() {
        return (String) get(PROPERTY_BOXPACKAGECODE);
    }

    public void setBoxPackageCode(String boxPackageCode) {
        set(PROPERTY_BOXPACKAGECODE, boxPackageCode);
    }

    public String getBigPackageCode() {
        return (String) get(PROPERTY_BIGPACKAGECODE);
    }

    public void setBigPackageCode(String bigPackageCode) {
        set(PROPERTY_BIGPACKAGECODE, bigPackageCode);
    }

    public String getTrayCode() {
        return (String) get(PROPERTY_TRAYCODE);
    }

    public void setTrayCode(String trayCode) {
        set(PROPERTY_TRAYCODE, trayCode);
    }

    public String getDs() {
        return (String) get(PROPERTY_DS);
    }

    public void setDs(String ds) {
        set(PROPERTY_DS, ds);
    }

    public String getWb() {
        return (String) get(PROPERTY_WB);
    }

    public void setWb(String wb) {
        set(PROPERTY_WB, wb);
    }

    public String getGysy() {
        return (String) get(PROPERTY_GYSY);
    }

    public void setGysy(String gysy) {
        set(PROPERTY_GYSY, gysy);
    }

    public Boolean isPrintBtn() {
        return (Boolean) get(PROPERTY_PRINTBTN);
    }

    public void setPrintBtn(Boolean printBtn) {
        set(PROPERTY_PRINTBTN, printBtn);
    }

    public Boolean isMatPrintBtn() {
        return (Boolean) get(PROPERTY_MATPRINTBTN);
    }

    public void setMatPrintBtn(Boolean matPrintBtn) {
        set(PROPERTY_MATPRINTBTN, matPrintBtn);
    }

    public Boolean isBatchBtn() {
        return (Boolean) get(PROPERTY_BATCHBTN);
    }

    public void setBatchBtn(Boolean batchBtn) {
        set(PROPERTY_BATCHBTN, batchBtn);
    }

    public EmesColor getEmesColor() {
        return (EmesColor) get(PROPERTY_EMESCOLOR);
    }

    public void setEmesColor(EmesColor emesColor) {
        set(PROPERTY_EMESCOLOR, emesColor);
    }

    public EmesSize getEmesSize() {
        return (EmesSize) get(PROPERTY_EMESSIZE);
    }

    public void setEmesSize(EmesSize emesSize) {
        set(PROPERTY_EMESSIZE, emesSize);
    }

    public UOM getUom() {
        return (UOM) get(PROPERTY_UOM);
    }

    public void setUom(UOM uom) {
        set(PROPERTY_UOM, uom);
    }

    @SuppressWarnings("unchecked")
    public List<WmsMaterialListLMx> getWmsMaterialListLMxList() {
      return (List<WmsMaterialListLMx>) get(PROPERTY_WMSMATERIALLISTLMXLIST);
    }

    public void setWmsMaterialListLMxList(List<WmsMaterialListLMx> wmsMaterialListLMxList) {
        set(PROPERTY_WMSMATERIALLISTLMXLIST, wmsMaterialListLMxList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsReturnGoodsMx> getWmsReturnGoodsMxList() {
      return (List<WmsReturnGoodsMx>) get(PROPERTY_WMSRETURNGOODSMXLIST);
    }

    public void setWmsReturnGoodsMxList(List<WmsReturnGoodsMx> wmsReturnGoodsMxList) {
        set(PROPERTY_WMSRETURNGOODSMXLIST, wmsReturnGoodsMxList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsStorageBatchItem> getWmsStorageBatchItemList() {
      return (List<WmsStorageBatchItem>) get(PROPERTY_WMSSTORAGEBATCHITEMLIST);
    }

    public void setWmsStorageBatchItemList(List<WmsStorageBatchItem> wmsStorageBatchItemList) {
        set(PROPERTY_WMSSTORAGEBATCHITEMLIST, wmsStorageBatchItemList);
    }

    @SuppressWarnings("unchecked")
    public List<WmsStorageInOut> getWmsStorageInOutList() {
      return (List<WmsStorageInOut>) get(PROPERTY_WMSSTORAGEINOUTLIST);
    }

    public void setWmsStorageInOutList(List<WmsStorageInOut> wmsStorageInOutList) {
        set(PROPERTY_WMSSTORAGEINOUTLIST, wmsStorageInOutList);
    }

}
